home *** CD-ROM | disk | FTP | other *** search
- Path: yama.mcc.ac.uk!dmu!usenet
- From: Graham Perkins <grp@dmu.ac.uk>
- Newsgroups: comp.lang.java,comp.lang.c++,comp.lang.smalltalk
- Subject: Re: Will Java kill C++?
- Date: Fri, 19 Apr 1996 16:35:24 +0100
- Organization: De Montfort University
- Message-ID: <3177B2BC.482B@dmu.ac.uk>
- References: <BLUME.96Apr16103345@zayin.cs.princeton.edu> <4l3vu1$imr@newsbf02.news.aol.com> <BLUME.96Apr18104240@zayin.cs.princeton.edu>
- NNTP-Posting-Host: mkcsst22.mk.dmu.ac.uk
- Mime-Version: 1.0
- Content-Type: text/plain; charset=us-ascii
- Content-Transfer-Encoding: 7bit
- X-Mailer: Mozilla 2.0 (Win16; I)
-
- Matthias Blume wrote:
- >
- > You understood me right -- I do not believe in OOP, and I won't defend
- > it. However, there is a middle ground, which is called `subtyping'.
- >
-
- Genuine subtyping is not middle ground, but an extreme. A type denotes a
- set of items. A subtype denotes a subset of those items. A subtype cannot be
- used as a polymorphic stand-in in a programming scenario unless
- all the operators of the main type are defined on the subset, and the subset
- is closed with respect to those operations.
-
- Trivially, NATURAL cannot be considered a subtype of INTEGER, nor FLOAT a
- subtype of DOUBLE. More importantly, most subclassing you find in yer average
- Smalltalk, C++, Eiffel, Java etc library is not genuine subtyping.
-
- IMHO Matthias is being a little too idealistic. Formal strictness is useful
- and generally not practised as wide as it should but software development
- also require pragmatism, and relaxing the notion of "subtype" yields a great
- deal of productivity potential without damaging static correctness too much.
-
- --
- person: Graham Perkins paper: School of Computing
- voice: +44 (0)1908 834936 De Montfort University
- dots: +44 (0)1908 834948 Milton Keynes MK7 6HP
- bits: grp@dmu.ac.uk United Kingdom
-